草庐IT

c++ - 如何将 CLion (1.2.4) 用于涉及 Qt Creator 的项目?

QtCreator使GUI创建变得非常容易,但我宁愿使用CLion进行编码部分,并且只使用QtCreator进行GUI编辑。 最佳答案 绝对有可能!我在Mac上,所以我做的一些事情在其他操作系统上不会完全相同。它们是小而简单的事情,一点点google-fu应该可以相对轻松地修复。步骤1:创建QtCreator项目我将在此示例中使用小部件应用程序。稍后我将讨论其他类型的项目。我强烈推荐的一件事是将构建目录(在侧边栏上的“项目”选项卡下)更改为相对路径而不是绝对路径,尤其是在进入GitHub或类似路径时。我把它改成了./QtBinDeb

c++ - qt 将数据库 sql 添加到从 cmake 导入的项目中

通常情况下,要给qt添加数据库,我们会去.pro文件中添加sql,但是我正在做的项目是从cmake导入的,所以它没有.pro文件。相反,它有一个CMakeLists.txt文件,我想将它连接到一个sqlite数据库。谁能帮我吗。谢谢 最佳答案 将Sql组件添加到find_package()命令和将Qt5::Sql添加到target_link_libraries()命令。搜索类似的东西:find_package(Qt5REQUIREDCOMPONENTSCoreQuickSql)或者像那样:find_package(Qt5SqlREQ

c++ - 另一个小部件 Qt 中的小部件

我正在尝试实现这种布局:Widget1是某个小部件(QMainWindow的中央小部件),我想在其上添加第二个小部件Widget2,但它应该位于Widget1的左下角。编辑:我之前的描述不是很有用,所以我会尝试更详细地描述它。我继承了QWidget类(classMyClass:publicQWidget)并创建了我自己的小部件,我在voidMyClass::paintEvent(QPaintEvent*event)上画了一些东西屏幕。MyClass就是我的QMainWindow的centralWidget。现在最重要的是我想添加较小的小部件(图像中的Widget2),我将在其中显示一些

c++ - Qt QString 到 QByteArray 并返回

我在从QString到QByteArray再回到QString的转换中遇到问题:intmain(){QStrings;for(inti=0;i如您所见,我用16位范围内的所有字符填充QString。然后将它们转换为QByteArray(Utf8)并返回到QString。问题是值为0的字符和值大于55295的字符无法转换回QString。如果我保持在1到 最佳答案 我的任务是将std::string转换为QString,并将QString转换为QByteArray。以下是我为完成此任务所做的工作。std::stringstr="hel

c++ - 单击旁边的按钮时如何引用动态创建的标签[Qt]

每次按下“添加客户端”按钮-一个减号按钮、客户端名称、一个客户端计数器和一个加号按钮被添加到gridLayout的水平线上。我想在按下加号/减号按钮时更新计数(QLabel)。这是我的代码:#include"widget.h"#include"ui_widget.h"#include#include#includeintrow=0;Widget::Widget(QWidget*parent):QWidget(parent),ui(newUi::Widget){ui->setupUi(this);}Widget::~Widget(){deleteui;}voidWidget::on_pu

c++ - Qt 如何将文件移动到另一个现有目录

我是Qt的初学者,我项目的一部分是将现有文件移动到另一个现有目录?有人可以给我一个具体的例子吗?我不确定我是否应该使用Qfile::rename()。我试着这样写QDir::rename("/home/joshua/test.txt","/home/joshua/test/test_c.txt");但错误是不能在没有对象的情况下调用成员函数'boolQDir::rename(constQString&,constQString&)'QDir::rename("/home/joshua/test.txt","/home/joshua/test/test_c.txt");^对不起大家,都是

c++ - Qt3d。在三角形上绘制透明的QSphereMesh

我有一个可以通过OpenGL绘制三角形的函数我通过按下一个按钮绘制两个三角形(函数on_drawMapPushButton_clicked())。然后我在这些三角形上方绘制一个球体。现在我看到,该球体正确绘制在第一个三角形上,但是第二个三角形却绘制在该球体上,反之亦然。如果我第二次按下按钮,则会在第一个和第二个三角形上正确绘制spehere。当我第三次按下按钮时,第二个三角形再次在球体上绘制。当我第四次按下按钮时,会在第一个和第二个三角形上正确绘制spehere,依此类推。如果我在SphereMeshQPhongMaterial而不是QPhongAlphaMaterial中使用,则始终

c++ - 在 Qt 信号和槽中使用 lambda 语法并访问传递的参数

我有一个具有此签名的信号的类://CLASSAsignals:voidrequestToChangeRange(voltage_range_evr,current_range_ecr,uint16_tbits);还有另一个类有这样一个插槽(注意额外的参数)//CLASSCpublicslots:voidhandleRequestRangeChange(voltage_range_evr,current_range_ecr,uint16_tbits,uint16_tlimiter);然后我有一个类“B”,它充当所有其他类的交汇点。当“A”类发出信号时,“C”类应将其重定向到“B”类。但是

c++ - 有没有办法结合 Qt-Creator + Boost 库?

我想知道是否有办法在Qt-creator(Qt的IDE版本)中使用boost库。谢谢,A. 最佳答案 我很确定QtCreator不需要在您的应用程序中使用Qt。如果您不想链接到任何Qt库,或在任何头文件上运行MOC(您只需要对QObject的子类执行此操作),那么只需执行QT-=coregui(从链接命令中删除Qt库。也许QT=也可以),并且不要指定任何HEADERS.祝你好运,如果有效请回传。 关于c++-有没有办法结合Qt-Creator+Boost库?,我们在StackOverfl

c++ - 在 Qt 的子线程中调用函数?

我有一个在不同时间调用子线程函数的主线程,但我不确定这是否是在Qt中执行此操作的正确方法。下面的代码有什么问题并寻找更好的替代方法当主线程释放锁时,主线程会无限运行,子进程会做一些工作。#include#include#includeQSemaphoresem(0);classBackground:publicQThread{protected:voidrun(){for(;;){sem.acquire(1);qDebug("Childfunctionran");}}};intmain(intargc,char*argv[]){QCoreApplicationa(argc,argv);